CodeIgniter একটি সুনির্দিষ্ট এবং সুসংগঠিত ডিরেক্টরি স্ট্রাকচার ব্যবহার করে। এটি ফ্রেমওয়ার্কটির কার্যকারিতা উন্নত করে এবং কোড রক্ষণাবেক্ষণ সহজ করে। নিচে CodeIgniter 4 এর ডিরেক্টরি স্ট্রাকচার এবং প্রতিটি ফোল্ডারের ভূমিকা ব্যাখ্যা করা হয়েছে।
CodeIgniter ইন্সটল করার পরে আপনি নিচের মতো একটি ডিরেক্টরি স্ট্রাকচার দেখতে পাবেন:
/app
/public
/system
/tests
/writable
/vendor
.env
spark
/app
এটি আপনার অ্যাপ্লিকেশনের মূল ফোল্ডার। এখানে আপনার কাস্টম কন্ট্রোলার, মডেল, ভিউ এবং অন্যান্য ফাইল সংরক্ষণ করা হয়।
/app/Config
এই ফোল্ডারে অ্যাপ্লিকেশনের সমস্ত কনফিগারেশন ফাইল থাকে। উদাহরণ:
App.php
: বেস URL, ডিফল্ট ল্যাঙ্গুয়েজ ইত্যাদি কনফিগারেশন।Database.php
: ডাটাবেস কনফিগারেশন।/app/Controllers
এখানে কন্ট্রোলার ফাইল তৈরি এবং সংরক্ষণ করা হয়। এটি অ্যাপ্লিকেশনের লজিক পরিচালনা করে।
/app/Models
মডেল ফাইলগুলো এখানে রাখা হয়। এটি ডাটাবেস সম্পর্কিত কাজ পরিচালনা করে।
/app/Views
ভিউ ফাইলগুলো এখানে রাখা হয়। এটি অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস প্রদর্শনের জন্য ব্যবহৃত হয়।
/app/Libraries
আপনার কাস্টম লাইব্রেরি ফাইল এখানে সংরক্ষণ করা হয়।
/app/Helpers
কাস্টম হেল্পার ফাইলগুলো এখানে রাখা হয়। এগুলো অ্যাপ্লিকেশনের পুনরায় ব্যবহৃত কার্যকলাপের জন্য ব্যবহৃত হয়।
/public
এই ফোল্ডারে অ্যাপ্লিকেশনের public-facing ফাইলগুলো থাকে। এটি ব্রাউজার থেকে সরাসরি অ্যাক্সেস করা যায়। উদাহরণ:
index.php
: এটি এন্ট্রি পয়েন্ট।/system
CodeIgniter এর কোর ফাইলগুলো এখানে থাকে। এই ফোল্ডারে পরিবর্তন করা উচিত নয়। এটি ফ্রেমওয়ার্কের অভ্যন্তরীণ কার্যক্রম পরিচালনা করে।
/writable
এটি এমন একটি ফোল্ডার যেখানে লগ ফাইল, ক্যাশ ফাইল, এবং অন্যান্য অস্থায়ী ডেটা সংরক্ষণ করা হয়। এটি রাইটেবল (writable) হওয়া প্রয়োজন।
/writable/cache
ক্যাশ ফাইল সংরক্ষণের জন্য ব্যবহৃত হয়।
/writable/logs
লগ ফাইল সংরক্ষণ করা হয়, যা ডিবাগিং এবং সমস্যা সমাধানে সহায়ক।
/tests
আপনার অ্যাপ্লিকেশনের টেস্টিং ফাইল এখানে রাখা হয়। CodeIgniter ইউনিট টেস্টিং সাপোর্ট করে।
/vendor
Composer এর মাধ্যমে ডাউনলোড করা সমস্ত লাইব্রেরি এবং প্যাকেজ এখানে সংরক্ষণ করা হয়।
.env
এটি CodeIgniter এর পরিবেশ (environment) কনফিগারেশন ফাইল। এটি .env
নামে রিনেম করে ব্যবহার করতে হয়। উদাহরণ:
CI_ENVIRONMENT = development
database.default.hostname = localhost
database.default.database = my_database
database.default.username = root
database.default.password =
spark
এটি CodeIgniter 4 এর CLI টুল। এটি দিয়ে সার্ভার রান, মাইগ্রেশন, এবং সিড তৈরি করা যায়।
php spark serve
সিকিউরিটির জন্য, শুধুমাত্র /public
ফোল্ডারটি ব্রাউজারে অ্যাক্সেসযোগ্য হওয়া উচিত। এর জন্য:
/public
ফোল্ডারটি Document Root হিসেবে সেট করুন।Linux/MacOS-এ:
chmod -R 0777 writable/
আপনার ডাটাবেস, মেইল, এবং অন্যান্য সেটিংস .env
ফাইলের মাধ্যমে কনফিগার করুন।
CodeIgniter এর ডিরেক্টরি স্ট্রাকচার পরিষ্কার এবং সুসংগঠিত, যা ডেভেলপারদের সহজে কাজ করতে এবং অ্যাপ্লিকেশন রক্ষণাবেক্ষণ করতে সহায়ক করে।